home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3dm / dmedia / dmTCToString.z / dmTCToString
Encoding:
Text File  |  2001-04-17  |  9.2 KB  |  199 lines

  1.  
  2.  
  3.  
  4. ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm))))                                            ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dmTCToString, dmTCFromString, DMtimecode, tc_type - digital media
  10.      timecode mathematics
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____ttttiiiimmmmeeeeccccooooddddeeee....hhhh>>>>
  14.  
  15.      DDDDMMMMssssttttaaaattttuuuussss ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg
  16.          (((( cccchhhhaaaarrrr **** oooouuuuttttssssttttrrrriiiinnnngggg,,,,
  17.            ccccoooonnnnsssstttt DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee ****ttttcccc ))))
  18.  
  19.      DDDDMMMMssssttttaaaattttuuuussss ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg
  20.          (((( DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee **** rrrreeeessssuuuulllltttt,,,,
  21.            ccccoooonnnnsssstttt cccchhhhaaaarrrr **** iiiinnnnssssttttrrrriiiinnnngggg,,,,
  22.            iiiinnnntttt ttttcccc____ttttyyyyppppeeee ))))
  23.  
  24.  
  25.  
  26. TTTTYYYYPPPPEEEESSSS
  27.      _D_M_t_i_m_e_c_o_d_e   A structure containing a representation of SMPTE time code
  28.                   on which certain mathematical and utility functions can be
  29.                   performed.  Can be used with:  ddddmmmmTTTTCCCCAAAAddddddddTTTTCCCC((((3333ddddmmmm)))),
  30.                   ddddmmmmTTTTCCCCAAAAddddddddFFFFrrrraaaammmmeeeessss((((3333ddddmmmm)))), ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))), ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSeeeeccccoooonnnnddddssss((((3333ddddmmmm)))),
  31.                   ddddmmmmTTTTCCCCTTTTooooSSSSeeeeccccoooonnnnddddssss((((3333ddddmmmm)))), ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))),
  32.                   ddddmmmmTTTTCCCCFFFFrrrraaaammmmeeeessssPPPPeeeerrrrDDDDaaaayyyy((((3333ddddmmmm)))), and ddddmmmmTTTTCCCCFFFFrrrraaaammmmeeeessssBBBBeeeettttwwwweeeeeeeennnn((((3333ddddmmmm)))).  Can also
  33.                   be used with the ddddmmmmLLLLTTTTCCCC((((3333ddddmmmm)))) and ddddmmmmVVVVIIIITTTTCCCC((((3333ddddmmmm)))) routines.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      _o_u_t_s_t_r_i_n_g   The string created by converting _t_c.
  38.  
  39.  
  40.      _t_c          The timecode operand to convert to a string.
  41.  
  42.  
  43.      _r_e_s_u_l_t      The result of converting _i_n_s_t_r_i_n_g to a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee.
  44.  
  45.  
  46.      _i_n_s_t_r_i_n_g    The string to convert into a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee.
  47.  
  48.  
  49. _t_c__t_y_p_e
  50.                   The timecode type which ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg should assume the
  51.                  string is in.  See TC_TYPE below.
  52.  
  53.  
  54. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  55.      These utility functions will convert between strings and DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee's.
  56.  
  57.      To convert from a string to a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee, the string format must a
  58.      colon-separated string (in the form "h:m:s:f"); if fields are missing
  59.      (i.e., "01:01:04") the string will be interpreted by assuming that the
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm))))                                            ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74.      missing fields are on the left, and are "0". Thus, for example, the
  75.      string "2:14" will be interpreted as "0:0:2:14."
  76.  
  77.      When converting from a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee to a string, the string returned will
  78.      be fully justified and contain all fields. (i.e., it will return a
  79.      fully-justified "00:00:02:14").
  80.  
  81.  
  82. TTTTCCCC____TTTTYYYYPPPPEEEE
  83.      The dmTC routines, as well as other timecode-related routines such as
  84.      dmVITC and dmLTC, depend on a proper setting of the tc_type field.  Often
  85.      this tc_type field appears as a member of a DMtimecode passed to or from
  86.      one of these routines.
  87.  
  88.      The tc_type field tells these routines whether the maximum frame value is
  89.      25 or 30, whether 30 frame code is drop frame or not, and if so what kind
  90.      of drop frame.
  91.  
  92.      The tc_type field, defined in <dmedia/dm_timecode.h>, consists of an
  93.      or'ed together bitmask of fields indicating format (DM_TC_FORMAT_...),
  94.      timecode rate (DM_TC_RATE_...), and dropframe status (DM_TC_*DROP*), but
  95.      most users will find it much easier just to use one of the pre-
  96.      constructed, fully-qualified tokens:
  97.  
  98.        DM_TC_30_ND - non-drop-frame NTSC or M/PAL timecode
  99.        DM_TC_2997_4FIELD_DROP - drop-frame NTSC timecode
  100.        DM_TC_2997_8FIELD_DROP - drop-frame M/PAL timecode
  101.        DM_TC_25_ND - PAL timecode (not M/PAL)
  102.        DM_TC_24_ND - 24 frame per second film timecode
  103.        DM_TC_60_ND - non-drop-frame 60 frame per second HDTV
  104.                      timecode (experiemental)
  105.        DM_TC_5594_8FIELD_DROP - drop-frame 59.94 frame per second
  106.                                 HDTV timecode (experiemental)
  107.  
  108.      The most common tokens for US use are DM_TC_24_ND, DM_TC_2997_4FIELD_DROP
  109.      and DM_TC_30_ND. In Europe, DM_TC_24_ND and DM_TC_25_ND will be the most
  110.      commonly used tokens.  "NTSC" and "PAL" above really refer to any 525/60
  111.      signal and 625/50 signal, respectively.
  112.  
  113.      Note on rates: the DM_TC_RATE field within tc_type does not refer to the
  114.      video signal's rate.  It simply refers to whether "30 frame" timecode is
  115.      drop frame or not.  Non-drop frame code has exactly 30 frames per second,
  116.      drop-frame code has exactly 29.97 frames per second over the full day.
  117.      The actual video signal rate is neither requested nor required by dmTC
  118.      and other timecode routines.  For color NTSC and M/PAL signals, it
  119.      happens to be 30000/1001 frames per second, which equals neither 30 nor
  120.      29.97.
  121.  
  122.      Because of this, any dmTC routines (such as ddddmmmmTTTTCCCCTTTTooooSSSSeeeeccccoooonnnnddddssss) which go
  123.      between a timecode value and real time will assume a timecode rate as
  124.      given by DM_TC_RATE, nnnnooootttt as given by the actual video signal's frame
  125.      rate.  This means that over the long term, drop frame timecode will drift
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm))))                                            ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm))))
  137.  
  138.  
  139.  
  140.      away from real time at the rate of about 2 frames per day.
  141.  
  142.  
  143. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  144.      If a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee operand (_t_c) contains an illegal timecode value (e.g., a
  145.      negative entry, invalid frame number, etc.), ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg will return
  146.      DM_FAILURE, and the contents of _o_u_t_s_t_r_i_n_g will be undefined.
  147.  
  148.      If ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg is unable to interpret an input string _i_n_s_t_r_i_n_g, it
  149.      will return DM_FAILURE, and the contents of _r_e_s_u_l_t will be undefined.
  150.  
  151.  
  152. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  153.      dmTCAddTC(3dm), dmTCAddFrames(3dm), dmTCFromSeconds(3dm),
  154.      dmTCToSeconds(3dm), dmTCFramesPerDay(3dm), dmTCFramesBetween(3dm),
  155.      dmLTC(3dm), dmVITC(3dm)
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.